@
2年前 提问
1个回答

API接口前十大风险漏洞是什么

房乐
2年前

API接口前十大风险漏洞如下:

  • 失效的对象级授权:攻击者通过破坏对象级别授权的API,来获得未经授权的或敏感的数据,比如通过可预测订单ID值来查询所有订单信息

  • 失效的用户认证:开发者对API身份认证机制设计存在缺陷或无保护设计,导致身份认证机制无效,比如弱密码、无锁定机制而被暴露破解、Token未校验或Token泄露导致认证机制失效等。

  • 过度的数据暴露:在API响应报文中,未对应答数据做适当的过滤,返回过多的、不必要的敏感信息。比如查询用户信息接口时却返回了身份证号、密码信息;查询订单信息时也返回了付款银行卡号、付款人地址信息等。

  • 缺乏资源和速率控制:在API设计中,未对API做资源和速率限制或保护不足,导致被攻击。比如用户信息接口未做频次限制导致所有用户数据被盗;文本翻译接口没有速率限制导致大量文件上传耗尽翻译服务器资源。

  • 失效的功能级授权:此处主要指功能级的控制,比如修改HTTP方法,从GET改成DELETE便能访问一些非授权的API;普通用户可以访问api/userinfo的调用,直接修改为api/admininfo,即可调用管理类API。

  • 批量分配:在API的业务对象或数据结构中,通常存在多个属性,攻击者通过篡改属性值的方式,达到攻击目的。比如通过设置user.is_admin和user.is_manager的值提升用户权限等级;假设某API的默认接口调用参数为{“user_name”:”user”,”is_admin”:0},而恶意攻击者修改请求参数,提交值为{“user_name”:”attacker”,”is_admin”:1},通过修改参数is_admin的值来提升为管理员权限。

  • 安全性配置错误:系统配置错误导致API的不安全,比如传输层没有使用TLS导致中间人劫持;异常堆栈信息未处理直接抛给调用端导致敏感信息泄露。

  • 注入:与OWASP Web安全注入类型相似,主要指SQL注入、NoSQL注入、命令行注入、XML注入等。

  • 资产管理不当:对于API资产的管理不清,比如测试环境的、已过期的、低版本的、未升级补丁的、影子API等接口暴露,从管理上没有梳理清楚,导致被黑客攻击。

  • 日志记录和监控不足:对API缺失有效的监控和日志审计手段,导致被黑客攻击时缺少告警、提醒,未能及时阻断。比如没有统一的API网关、没有SEIM平台、没有接入Web应用防火墙等。

API接口面临安全风险的防范建议有以下这些:

  • 统一API设计开发规范:健全API设计、开发、测试等环节标准规范和管理制度,引导API开发运维流程标准化,提高对API安全的重视程度。

  • API上线、变更、下线环节实时监控:对API部署情况进行全面排查,梳理统计API类型、活跃接口数量、失活接口数量等资产现状上线前风险评估,发现问题暂停上线并及时调整,确保上线API安全性。上线后对运行情况进行实时监控,发现接口运行异常、恶意调用等情况及时采取防护措施,修复相应问题。API不再使用遵循下线流程及时进行处理,防止失活API持续在线,成为安全隐患。

  • 完善API身份认证和授权管理机制:针对提供数据增、删、改等高危操作的API,严格规范用户权限管理。对涉及敏感信息、重要数据的API加强接入方资质和数据安全防护能力审核,规范合作要求,避免因接入方原因导致数据安全事件。

  • 健全API安全防护体系:部署API网关统一接口管理等,加强API安全保护宣传力度,提高员工安全意识,提高员工特别是API开发运维人员的安全意识,进一步提高内部RD整体数据安全认识。

  • API身份认证实时监控能力:重点监控高频登录尝试、空Referer、非浏览器UA头登录等具有典型机器行为特征的操作,对异常登录、调用行为进行分析,发现恶意行为及时告警。

  • 异常行为实时监测预警能力:重点监控短时间内大量获取敏感数据、访问频次异常、非工作时间获取敏感数据等异常调用、异常访问行为进行实时分析

  • 加强数据分类分级管控能力:针对API涉及的敏感数据按照统一策略进行后端脱敏处理,并结合数据加密、传输通道加密等方式保护API数据传输安全。重点关注接口单次返回数据量过多、返回数据类型过多等情况。

  • API数据流向监控能力:通过分析访问和被访问IP的局域、地域或法域,实现对数据流向的实时监控,防范数据接收方非法出售或滥用个人信息风险,发现相关违法违规事件及时阻断API接入应对境外IP访问内网API或者内部IP访问境外API的情况重点关注、及时预警。

  • 健全应急响应机制:制定API安全事件应急响应预案并纳入企业现有应急管理体系,应急流程包括但不限于监测预警及报告、数据泄露事件处置、危机处理及信息披露等环节。

  • 健全日志审计机制:对接口访问、数据调用等操作进行完整日志记录,并持续开展安全审计。

  • 健全数据泄露溯源追责机制:制定API相关安全事件溯源方案,发生安全事件后及时追踪数据泄露途径、类型、规模、原因,分析根本原因。